/**
 * author:liu6tot
 * date:2022.11.19
 * discriptor:将数组A中的0都移至数组末尾，将非0的移至开始（保持原来顺序）
 * 例子：1,2,0,2,3,0-->1,2,2,3,0
 */
#include <stdio.h>
int *myfunc(int *p, int nSize)
{
    int i, j;
    for (i = 0, j = 0; j < nSize; j++)
    {
        if (p[j] != 0)
        {
            p[i++] = p[j];
        }
    }
    while (i < nSize)
    {
        p[i++] = 0;
    }
    return p;
}

int main()
{
    int p[] = {1, 3, 0, 2, 5, 7, 8, 0, 3};
    int num;
    int i;
    num = sizeof(p) / sizeof(int);
    myfunc(p, num);
    for (i = 0; i < num; i++)
    {
        printf("%d ", p[i]);
    }
    puts("");
    return 0;
}